The demands on IPTV providers to provide an extensible solution are increasing, where the end users are not restricted to a limited feature set, but are able to download and run new applications in conjunction with the traditional TV services.
For web applications used in IPTV solutions, the main existing technology is W3C Widgets, which defines a packaging and delivery method for web applications, a.k.a. widgets, together with a mechanism to sign widgets.
An application framework runs on the client side and is responsible for loading, managing and layout of the widgets. The W3C (World Wide Web Consortium) widget specifications do not define an application/widget framework in which the widgets execute. Instead different market segments have defined their own application managers for widget execution suitable for their specific segment.
In traditional application models, the application that is on top of the display stack is the focused application and receives the input events from the user. This can, for example, be seen on a windows based PC; applications (programs) are displayed to the user in rectangular areas on the PC desktop. The application that is displayed on top is the focused application and thus receives all input events, e.g. key and mouse events.
In an application model suited for IPTV, the requirements are slightly different. Applications are expected to be laid out in a similar way but it is not desired that the topmost application always receive all input events. Consider, for example, an application which displays a broadcasted TV channel, displayed full screen on the TV. On top of this application is a weather widget displayed in a small area of the screen. The weather widget reacts to left/right key presses when in focus but even when it is in focus the underlying broadcast application must be able to react to up/down key presses since they are used for channel zapping and the user expects channel zapping to always work.